package com.leetcode.tree.bst;

import com.leetcode.basic.TreeNode;

import java.util.HashSet;
import java.util.Set;

/**
 * @author Dennis Li
 * @date 2020/7/18 19:58
 */

public class FindTarget_653 {

    // 核心，通过一个Set来看是否存在k-root.val的节点，如果有，那么返回true
    Set<Integer> set = new HashSet<>();

    public boolean findTarget(TreeNode root, int k) {
        if(root == null) return false;
        if(set.contains(k - root.val)) return true;
        set.add(root.val);
        return findTarget(root.right, k) || findTarget(root.left, k);
    }

}
